@echo off
chcp 65001 >nul
title WHartTest 一键启动脚本

echo.
echo ===============================================
echo       WHartTest 智能测试平台 - 启动脚本
echo ===============================================
echo.

:: 检查 Docker 是否安装
docker --version >nul 2>&1
if %errorlevel% neq 0 (
    echo [错误] 未检测到 Docker，请先安装 Docker Desktop for Windows
    echo 下载地址: https://www.docker.com/products/docker-desktop/
    pause
    exit /b 1
)

echo [✓] Docker 已安装
echo.

:: 检查 Docker 是否运行
docker info >nul 2>&1
if %errorlevel% neq 0 (
    echo [错误] Docker Desktop 未运行，请先启动 Docker Desktop
    pause
    exit /b 1
)

echo [✓] Docker 正在运行
echo.

:: 创建数据目录
echo [步骤 1/4] 创建数据目录...
if not exist "data" mkdir data
if not exist "data\playwright-screenshots" mkdir data\playwright-screenshots
if not exist "data\media" mkdir data\media
echo [✓] 数据目录创建完成
echo.

:: 拉取最新镜像
echo [步骤 2/4] 拉取最新镜像（首次运行需要几分钟）...
docker-compose pull
if %errorlevel% neq 0 (
    echo [警告] 镜像拉取失败，将尝试使用现有镜像或本地构建
)
echo.

:: 启动服务
echo [步骤 3/4] 启动所有服务...
docker-compose up -d
if %errorlevel% neq 0 (
    echo [错误] 服务启动失败，请查看错误信息
    pause
    exit /b 1
)
echo [✓] 服务启动成功
echo.

:: 等待服务就绪
echo [步骤 4/4] 等待服务初始化（约 30-60 秒）...
timeout /t 5 /nobreak >nul

:: 显示服务状态
echo.
echo ===============================================
echo               服务状态
echo ===============================================
docker-compose ps
echo.

:: 显示访问信息
echo ===============================================
echo               访问信息
echo ===============================================
echo.
echo [前端界面]      http://localhost:8913
echo [后端 API]      http://localhost:8912/api/
echo [API 文档]      http://localhost:8912/api/schema/swagger-ui/
echo.
echo [默认账号]      用户名: admin
echo [默认密码]      密码: admin123456
echo.
echo ===============================================
echo               常用命令
echo ===============================================
echo.
echo 查看日志:       docker-compose logs -f
echo 查看后端日志:   docker-compose logs -f backend
echo 重启服务:       docker-compose restart
echo 停止服务:       docker-compose down
echo.
echo ===============================================

:: 询问是否打开浏览器
echo.
set /p open_browser="是否打开浏览器访问系统？(Y/N): "
if /i "%open_browser%"=="Y" (
    echo.
    echo 正在打开浏览器...
    timeout /t 3 /nobreak >nul
    start http://localhost:8913
)

echo.
echo [提示] 如需查看实时日志，请运行: docker-compose logs -f
echo [提示] 停止服务请运行: docker-compose down
echo.
pause

